#include "session_tree_item.h"

CSessionTreeItem::CSessionTreeItem(CSessionTreeItem *parent)
    :m_parent(parent),
     m_isDir(false),
     m_row(-1)
{

}

CSessionTreeItem::~CSessionTreeItem()
{
    removeChildren();
}

void CSessionTreeItem::addChild(CSessionTreeItem *item)
{
    item->setRow(m_childrenList.size());    // 计算父类的第几个孩子，在插入的时候就保存不需要每次需要用到的时候再遍历
    m_childrenList.append(item);            // 添加孩子
}

void CSessionTreeItem::removeChildren()
{
    qDeleteAll(m_childrenList);
    m_childrenList.clear();
}

void CSessionTreeItem::removeChildren(int row)
{
    m_childrenList.removeAt(row);
}

bool CSessionTreeItem::getIsDir()
{
       return m_isDir;
}

void CSessionTreeItem::setIsDir(bool fileType)
{
    m_isDir = fileType;
}

void CSessionTreeItem::setData(QString value)
{
    m_data = value;
    m_sessionName = value;
}

CSessionTreeItem* CSessionTreeItem::child(int row)
{
    return m_childrenList.value(row);
}

CSessionTreeItem *CSessionTreeItem::parent()
{
    return m_parent;
}

QVariant CSessionTreeItem::getData(int column) const
{
    return m_data;
}

QString CSessionTreeItem::getSessionName()
{
    return m_sessionName;
}


